package cn.bugstack.xfg.dev.tech;

import org.springframework.beans.factory.annotation.Configurable;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@Configurable
public class Application {
    /*创建ApplicationContext：根据classpath中的依赖创建相应的应用上下文（Web或非Web）
    自动配置：

    扫描classpath中的jar包
    根据@Conditional条件判断加载哪些自动配置类
    配置数据源、Web服务器、安全等组件


    组件扫描：

    扫描Application类所在包及子包
    注册所有标注了@Component、@Service、@Repository、@Controller等注解的类


    启动嵌入式服务器：

    如果是Web应用，启动内嵌的Tomcat/Jetty/Undertow服务器
            默认监听8080端口


    执行初始化回调：

    调用各种生命周期回调方法*/
    public static void main(String[] args) {
        SpringApplication.run(Application.class);
    }

}
